﻿/******************************************************************************
 * Name			: PlayerManager.hpp
 * Author		: 671643387
 * Date			: 2015年9月13日
 * Description	:
 *****************************************************************************/

#ifndef COMMON_PLAYER_PLAYERMANAGER_HPP_
#define COMMON_PLAYER_PLAYERMANAGER_HPP_

#include <boost/noncopyable.hpp>
#include <dev/net/TcpConnection.hpp>
#include <common/player/Player.hpp>

namespace sxr
{
	namespace common
	{
		/**
		 * @brief 玩家管理器
		 */
		class PlayerManager : public boost::noncopyable
		{
		protected:
			PlayerManager(void);
			virtual ~PlayerManager(void);

		public:
			virtual bool initialize(void) = 0;
            virtual void cleanup(void) = 0;
            virtual bool newPlayer(dev::net::TcpConnectionPtr& conn) = 0;
		};
	}
}

#endif /* COMMON_PLAYER_PLAYERMANAGER_HPP_ */
